package plus.easydo.data.source.manager.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import plus.easydo.data.source.core.DataSource;
import plus.easydo.data.source.core.DataSourceQo;

import java.util.List;

/**
 * 数据源管理Mapper接口
 * 
 * @author gebilaoyu
 */
@Mapper
public interface DataSourceManagerMapper extends BaseMapper<DataSource> {
    /**
     * 查询数据源管理
     *
     * @param id 数据源管理ID
     * @return 数据源管理
     */
    DataSource selectDataSourceManagerById(String id);

    /**
     * 分页条件查询数据源管理列表
     *
     * @param page 分页数据
     * @param qo 查询条件封装
     * @return 数据源管理集合
     */
    IPage<DataSource> selectDataSourceManagerPage(IPage<DataSource> page, @Param("qo") DataSourceQo qo);

    /**
     * 查询所有数据源列表
     *
     * @param qo 查询条件封装
     * @return 数据源管理集合
     */
    List<DataSource> selectDataSourceManagerList(@Param("qo") DataSourceQo qo);

    /**
     * 新增数据源管理
     * 
     * @param dataSource 数据源管理
     * @return 结果
     */
    int insertDataSourceManager(DataSource dataSource);

    /**
     * 修改数据源管理
     * 
     * @param dataSource 数据源管理
     * @return 结果
     */
    int updateDataSourceManager(DataSource dataSource);

    /**
     * 删除数据源管理
     * 
     * @param id 数据源管理ID
     * @return 结果
     */
    int deleteDataSourceManagerById(String id);

    /**
     * 批量删除数据源管理
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteDataSourceManagerByIds(String[] ids);
}
